package com.luxk.db.server;

import com.luxk.db.common.Module;

public interface Server {
	
	public int getPort();
	public void setPort(int port);
	public String getShutdownCommand();
	public void setShutdownCommand(String shutdown);
	
	public String getName();
	public void setName(String name);

	public void addModule(Module module);
	public Module getModule(String name);
	
	public void init() throws Exception;
	public void startup(StartupMode mode) throws Exception;
	public ShutdownMode await() throws Exception;
	public void shutdown(ShutdownMode mode) throws Exception;
	
	public StartupMode getBootMode();
	public StartupMode getCurrentMode();
	
	public void runTest() throws Exception;
}
